// pages/auth/login.js
const app = getApp()
import auth from '../../utils/auth.js'

Page({
  data: {
    loading: false,
    canIUseGetUserProfile: wx.canIUse('getUserProfile'),
    canIUseNicknameComp: wx.canIUse('input.type.nickname')
  },

  onLoad(options) {
    console.log('登录页面加载', options)
    // 检查是否已经登录
    if (auth.checkLoginStatus()) {
      // 已登录，返回上一页或跳转到首页
      this.navigateBack()
    }
  },

  // 微信一键登录
  async onWxLogin() {
    if (this.data.loading) return
    
    this.setData({ loading: true })
    
    try {
      wx.showLoading({ title: '登录中...' })
      
      // 调用微信登录
      const result = await auth.wxLogin()
      
      wx.hideLoading()
      
      if (result.success) {
        wx.showToast({
          title: '登录成功',
          icon: 'success'
        })
        
        // 立即回填全局与本地，避免返回后提示未登录
        if (result.data) {
          const app = getApp()
          if (app && app.setUserInfo) {
            app.setUserInfo(result.data.userInfo, result.data.token)
          } else {
            // 兜底写入
            wx.setStorageSync('userInfo', result.data.userInfo)
            wx.setStorageSync('token', result.data.token)
          }
        }
        
        // 延迟跳转，让用户看到成功提示
        setTimeout(() => {
          this.navigateBack()
        }, 800)
      } else {
        wx.showToast({
          title: result.message || '登录失败',
          icon: 'none'
        })
      }
    } catch (error) {
      wx.hideLoading()
      console.error('登录失败:', error)
      wx.showToast({
        title: '登录失败，请重试',
        icon: 'none'
      })
    } finally {
      this.setData({ loading: false })
    }
  },

  // 返回上一页或首页
  navigateBack() {
    const pages = getCurrentPages()
    if (pages.length > 1) {
      wx.navigateBack()
    } else {
      wx.switchTab({
        url: '/pages/index/index'
      })
    }
  },

  // 返回首页
  goHome() {
    wx.switchTab({
      url: '/pages/index/index'
    })
  }
})